<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        //不写var是不规范的 隐式全局变量
        // 使用严格模式 这种写法会报错
        // "uses strict"s
        (function () {
            // num = 10;
        })()
        // console.log(num);
        // 如何让num不报错呢?
        (function (win) {
            var num = 10;
            win.num = num;
        })(window)
        console.log(num);
        // 总结： 如果想要让局部变量变成全局变量 现在有以下两种方式
        // 1.隐式全部变量(不好 不规范 如果使用严格模式)
        // 2.隐式全局变量(不好 不规范 如果使用严格模式 会报错)
        // 3.把函数内部变量赋值给windows的属性
    </script>
</body>
</html>